1. Field of the Invention
This invention relates to data processing systems having a base system unit, optional hardware adapters, and corresponding optional hardware devices attached thereto, and more particularly, to the configuration of a diagnostic system for the data processing system as a whole in its present configuration, and for any one of the optional components, separately.
2. Description of the Related Art
The structure of a typical data processing system, such as the IBM RT PC having an AIX operating system, is shown in FIG. 1. A typical data processing system comprises a system unit 11 having a processor 6, a memory management unit 7 having random access memory (RAM) and read only memory (ROM) 8, and an I/O channel controller 9. Physical devices such as disks 21, hard files 3, keyboards 23, displays 22, and other I/O devices 20 are attachable to the system unit through adapters, either as options or as part of the base processing system provided by the manufacturer.
For more information oh the IBM RT PC and the AIX operating system, the following references are herein incorporated by reference. AIX Operating System Technical Reference, Volumes 1 and 2, IBM Corporation, SC23-0808 and SC23-0809. IBM RT Personal Computer Technology, IBM Corporation, SA23-1057, 1986.
As a user powers on the processing system, many systems run a power on self test (POST) to check the operability of the basic functions of the hardware, and to determine the configuration of the processing system. The size of memory, and which adapters and devices are attached to the processing system, are all a part of the configuration. The configuration of the machine can be complex, variable, and expandable. The power on self test (POST) can be resident in read only memory 8 or on a diagnostics application program diskette 10, in which case it is referred to as a loadable power on self test (LPOST).
A POST or LPOST is required for each major area of the processing system such as each adapter, each hard file type, diskette type, etc., in the system. As each POST or LPOST is run, a record of the non fatal errors is logged in a POST control block 12. Other information recorded in the POST control block includes the option name (adapter name or device name), the type, and the slot location of the option for the present configuration. When the tests are completed, the information in the control block can be used by any software routine 10 to further diagnose the processing system.
A diagnostic software package 10 allows both operators and service representatives to diagnose the hardware, isolate faulty parts, and replace those parts with new parts. A typical diagnostic software package runs on the machine suspected of having faulty components, and controls and analyzes the results of hardware tests that .are run on itself. Everything necessary to bring up the machine and run the diagnostics is diskette resident.
Typically, when a diagnostic software package diagnoses a faulty part, a service request number is displayed to a user which references the faulty part or parts. The recognition and isolation of a set of hardware problems to the fewest number of service request numbers is a problem. With the ever increasing complexity and flexibility of computer configurations, the interdependences between hardware options is ever changing, which makes this problem even more difficult.
Typically, in processing systems known in the art, adapters plugged into the system planar. When an adapter disappeared or failed the diagnostics, the most likely field replaceable unit was either the adapter, the system planar, or both. Expansion units to the original processing systems are becoming more common. An expansion unit allows more adapters to be attached to the system than for which the system was originally designed. Since an adapter can be plugged into an expansion unit, any field replaceable unit associated with the expansion unit could cause an adapter to disappear or fail the diagnostics. For example, the options in an expansion unit are dependent on the operation of the expansion unit, which is dependent upon the operation of an expansion adapter. If the expansion adapter disappears, then the expansion unit and all of the options in the expansion unit will also disappear. However, without further isolating the problem, the service request number would list all of the dependent options as field replaceable units instead of just the expansion adapter.
An architecture of a diagnostic system known in the art utilizes an expert system which takes knowledge encoded as rules, and makes conclusions on the basis of the rules. When the expert system concludes that a particular component is present and needs testing, the rules necessary for the diagnostics of that component can be read in and used in diagnosing machine faults.
In an expert diagnostic system known in the art, option codes were used to define the configuration such that the configuration was viewed as a building block of options. Each option had its own area rule base associated with it. The system checkout component handled an option checkout by calling only the area rule base for that selected option. If the option was dependent on another option, the rule base of the other option had to be included in the rule base of the selected option. In this way, each rule base had to provide additional rules based on how the option could fit into a configuration. Consequently, these rules would have to be changed if the option could later fit into a different configuration a different way.
For example, if an expansion unit were added to a system configuration which allowed options to now be attached to the expansion unit in addition to the system unit, the rule base for each option would have to change to indicate whether the option feature was in the expansion unit or not. The area rule base would then have to be changed to either add additional tests to isolate a problem to the option, to any one of the expansion unit field replaceable units (FRU's), or to the expansion unit. Since several adapters could go into the expansion box, this method would cause all area rule bases for options that could be installed into the expansion unit to be changed to handle the additional field replaceable units. Also, this method would require that the area rule bases be changed each time a new expansion box is added.